mongo query cursorはfor awaitで回せる
それまではcursor.next()がnullになるまで判定してがんばって回してた
contentType: "image/png"をcategories: ["image", "png"]の様に分割するbatchの例
code:js
const cursor = GCSFile.find({ categories: { $exists: false } })
.cursor()
.addCursorFlag('noCursorTimeout', true)
for await (const file of cursor) {
// console.log(file)
const { contentType, _id } = file
const categories = contentType ? contentType.split('/') : []
console.log(_id, contentType, categories)
await GCSFile.update({ _id }, { $set: { categories } })
}
await cursor.close()